package cn.chengpengper.nacos.client.properties;

import java.util.Properties;

public interface NacosClientProperties {

    NacosClientProperties PROTOTYPE = SearchableProperties.INSTANCE;

    /**
     * add properties.
     * @param properties properties
     */
    void addProperties(Properties properties);

    /**
     * create a new NacosClientProperties which scope is itself.
     * @return NacosClientProperties
     */
    NacosClientProperties derive();

    /**
     * create a new NacosClientProperties from NacosClientProperties#PROTOTYPE and init.
     * @param properties properties
     * @return NacosClientProperties
     */
    NacosClientProperties derive(Properties properties);
}
